﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using CanchitasServices.Persistencia;
using CanchitasServices.Dominio;

namespace CanchitasServices
{
    public class Canchitas : ICanchitas
    {

        private CanchitaDAO canchitaDAO = null;
        private CanchitaDAO CanchitaDAO
        {
            get
            {
                if (canchitaDAO == null)
                    canchitaDAO = new CanchitaDAO();
                return canchitaDAO;
            }
        }

        public Canchita CrearCanchita(string nombre, string dimensiones, string caracteristicas)
        {
            Canchita canchitaACrear = new Canchita()
            {
                Nombre = nombre,
                Dimensiones = dimensiones,
                Caracteristicas = caracteristicas
            };
            return CanchitaDAO.Crear(canchitaACrear);
 
        }

        public Canchita ObtenerCanchita(int codigo)
        {
            return CanchitaDAO.Obtener(codigo);
        }

        public Canchita ModificarCanchita(int codigo, string nombre, string dimensiones, string caracteristicas)
        {

            if (ObtenerCanchita(codigo)==null)
            {
                return null;
            }
            Canchita canchitaAModificar = new Canchita()
            {
                Codigo = codigo,
                Nombre = nombre,
                Dimensiones = dimensiones,
                Caracteristicas = caracteristicas
            };
            return CanchitaDAO.Modificar(canchitaAModificar);
        }

        public void EliminarCanchita(int codigo)
        {
            Canchita canchitaExistente = CanchitaDAO.Obtener(codigo);
            CanchitaDAO.Eliminar(canchitaExistente);
        }

        public List<Canchita> ListarCanchitas()
        {
            return CanchitaDAO.ListarTodos().ToList();
        }
    }
}
